package pl.edu.agh.mgr.hotel.ws.data;

import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import pl.edu.agh.mgr.hotel.entities.Hotel;
import pl.edu.agh.mgr.hotel.entities.Reservation;
import pl.edu.agh.mgr.hotel.entities.ServiceDescription;

public class DataResponse {
	private String name = "";
	private Hotel hotel;
	private Set<ServiceDescription> servicesDescriptions = new HashSet<ServiceDescription>();
	private Set<Reservation> reservations = new HashSet<Reservation>();
	private List<Query> queries = new ArrayList<Query>();
	
	public DataResponse() {
	}

	public DataResponse(String name, Hotel hotel,
			Set<ServiceDescription> servicesDescriptions, Set<Reservation> reservations, List<Query> queries) {
		this.name = name;
		this.hotel = hotel;
		this.servicesDescriptions = servicesDescriptions;		
		this.reservations = reservations;
		this.queries = queries;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public Hotel getHotel() {
		return hotel;
	}

	public void setHotel(Hotel hotel) {
		this.hotel = hotel;
	}

	public Set<ServiceDescription> getServicesDescriptions() {
		return servicesDescriptions;
	}

	public void setServicesDescriptions(
			Set<ServiceDescription> servicesDescriptions) {
		this.servicesDescriptions = servicesDescriptions;
	}

	public void addServiceDescription(ServiceDescription serviceDescription) {
		servicesDescriptions.add(serviceDescription);
	}

	public Set<Reservation> getReservations() {
		return reservations;
	}

	public void setReservations(Set<Reservation> reservations) {
		this.reservations = reservations;
	}
	
	public void addReservation(Reservation reservation) {
		reservations.add(reservation);
	}

	public List<Query> getQueries() {
		return queries;
	}

	public void setQueries(List<Query> queries) {
		this.queries = queries;
	}
	
	public void addQuery(Query query) {
		queries.add(query);
	}

}
